/*
 * @lc app=leetcode.cn id=2279 lang=golang
 * @lcpr version=30119
 *
 * [2279] 装满石头的背包的最大数量
 */

// @lcpr-template-start

// @lcpr-template-end
// @lc code=start
func maximumBags(capacity []int, rocks []int, additionalRocks int) int {
	n := len(capacity)
	for i := 0; i < n; i++ {
		capacity[i] -= rocks[i]
	}
	sort.Ints(capacity)
	ans := 0
	for i := 0; i < n && capacity[i] <= additionalRocks; i++ {
		additionalRocks -= capacity[i]
		ans++
	}
	return ans
}

// @lc code=end

/*
// @lcpr case=start
// [2,3,4,5]\n[1,2,4,4]\n2\n
// @lcpr case=end

// @lcpr case=start
// [10,2,2]\n[2,2,0]\n100\n
// @lcpr case=end

*/

